//$让给jQuery定义，我只对$进行扩充就好了。
//window.$={};
/**
 * 封装rest风格请求服务器的前端api
 * @param method 请求方式 GET POST DELETE PUT
 * @param url 请求地址
 * @param json 请求携带的数据，当method=GET时，此参数无效。
 * @param callback 请求的回调
 */
if(window.$==undefined){
    window.$={};
}
$.rest=function(method,url,json,callback){
    //请求方式统一转为大写
    if(method!=null){
        method=method.toUpperCase();
    }
    //使用纯原生ajax
    let xmlHttp=null;
    if(window.XMLHttpRequest){
        xmlHttp=new XMLHttpRequest();
    }else{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    //设置监听
    xmlHttp.onreadystatechange=function(){
        if(xmlHttp.readyState==4&&xmlHttp.status==200){
            //响应报文回来之后直接json解析
            callback(JSON.parse(xmlHttp.responseText));
        }
    };
    //打开网络连接
    xmlHttp.open(method,url,true);

    //token放在了localStorage
    let token=localStorage.getItem("token");
    xmlHttp.setRequestHeader("token",token);
    //把请求头设置合理
    if(method=="GET"){
        xmlHttp.send();
    }else{
        //设置请求头
        xmlHttp.setRequestHeader("Content-Type","application/json");
        //把发送给服务器的数据填充至请求体中。
        xmlHttp.send(JSON.stringify(json));
    }
};